Storage apparatus system and method of data backup

ABSTRACT

In a storage apparatus system, after having obtained the coherency between a file system of a main storage apparatus system and the stored data, a host computer issues a freezing instruction to a main DKC which transfers in turn the disk image at a time point of the issue of freezing instruction to a sub-DKC and then transmits a signal, showing that all the data has been transmitted, to the sub-DKC. In the sub-DKC, the disk image at a time point of reception of the freezing instruction is held until a signal showing that all the data has been transmitted is issued next time, and when the main storage apparatus system becomes unusable at an arbitrary time point, the data of the disk image, at a time point of issue of the freezing instruction, which is held by the sub-storage apparatus system can be utilized.

BACKGROUND OF THE INVENTION

[0001] The present invention relates in general to a storage apparatussystem for carrying out the copy (the remote copy) of data to anotherstorage apparatus system which is located in an out-of-the-way place.More particularly, the invention relates to an information processingsystem for carrying out the remote copy which is of the type in whichthe order of writing data from a host computer to a storage apparatussystem does not match the order of transmitting data from a storageapparatus system having the data written thereto to another storageapparatus system.

[0002] In an information processing system having a host computer and aplurality of storage apparatus systems, as the technology of carryingout the copy of data between the storage apparatus systems, there isknown the remote copy.

[0003] By the remote copy is meant the technology in which a pluralityof storage apparatus systems which are located physically apart from oneanother carry out the copy of the data, i.e., the double writing of thedata between the storage apparatus systems without interposition of thehost computer.

[0004] The storage apparatus system is a system including a plurality ofstorage apparatuses and a controller for controlling these storageapparatuses.

[0005] In the information processing system which carries out the remotecopy, the storage apparatus systems which are respectively arranged inthe places physically remote from one another are electrically connectedto one another through dedicated lines or public lines. Of logicalstorage areas (hereinafter, referred to as “logical volumes”, whenapplicable) which a certain storage apparatus system has, the logicalvolume having the same capacity as that of the logical volume subjectedto the remote copy (hereinafter, referred to as “the source volume” forshort, when applicable) is ensured in the storage apparatus system towhich the logical volume as the source of the copy is copied. Thisensured logical volume (hereinafter, referred to as “the destinationvolume”, when applicable) is formed in such a way as to show one-to-onecorrespondence relation with the logical volume as the source of thecopy.

[0006] The data of the logical volume as the source of the copy iscopied to the logical volume as the destination of the copy through theassociated one of the dedicated lines or public lines.

[0007] When the data contained in the logical volume as the source ofthe copy is updated, the updated data is transferred to the storageapparatus system having the logical volume as the destination of thecopy through the associated one of the dedicated lines or the like andthe updated data is also written to the logical volume as thedestination of the copy corresponding to the logical volume as thesource of the copy.

[0008] If the technique of the remote copy is employed, then in theinformation processing system having a plurality of storage apparatussystems, the logical volume of the same contents can be held in aplurality of storage apparatus systems.

[0009] The technique relating to the remote copy is disclosed in U.S.Pat. No. 5,742,792. In U.S. Pat. No. 5,742,792, the technique called theadaptive copy is further disclosed.

[0010] By the adaptive copy is meant one of the remote copy techniques.The adaptive copy is the remote copy method wherein before the datawritten from the host computer to the local storage device is copied tothe remote storage device, the information exhibiting the completion ofwrite is returned back to the host computer.

[0011] In the adaptive copy, the transmission order of data is notserialized, and hence the order of writing the data to the logicalvolume as the source of the copy by the host computer may be differentfrom the order of transferring these data to the logical volume as thedestination of the copy in some cases (hereinafter, such remote copy isreferred to as the remote copy of “no guarantee to order”, whenapplicable).

[0012] When the host computer writes repeatedly data to the samelocation in the destination volume on the basis of that property, onlythe data which has been written thereto lastly can be transmitted to thestorage apparatus system having the logical volume as the destination ofthe copy. Therefore, the load on the network such as the dedicated linebetween the storage apparatus systems can be reduced.

[0013] On the other hand, when the host computer in which the filesystem used in the so-called open system is incorporated writes the datato the storage apparatus system, in general, the buffer and the likeprovided in the host computer, whereby an instruction to transfer thedata from an application program to the file system is madeasynchronously with the operation of writing the data to the storageapparatus system.

[0014] But, in the case that the data in the file is destroyed due tovarious problems, in order to keep the coherency of the file systemstructure, with respect to at least the directory and the meta-data suchas i-node which are used to manage the file system, the operation ofissuing an instruction to transfer the data, i.e., the directory and themeta-data from the host computer to the storage apparatus system iscarried out synchronously with issuing of the write command from theapplication program running on the host computer to the file system. Theabove-mentioned technique is disclosed in an article of “The Design andImplementation of a Log-Structured File System”, Mendel Resenblum andJohn K. Ousterhout, ACM Transactions on Computer Systems, Vol. 10, No.1, February 1992, page 29.

[0015] By executing such a processing, even if the data in the filewhich is buffered in the host computer is lost due to the asynchronouswriting by an abrupt power source shutdown or the like, the meta-data isnot lost at all. So, the coherency of the file system structure is keptand the damage can be kept to a minimum even though the data itself islost.

SUMMARY OF THE INVENTION

[0016] The remote copy of no guarantee to order is carried out, wherebythe load which is applied to the network of the dedicated line or thelike distributed between the storage apparatus systems can be reduced.

[0017] However, in the remote copy of the order no guarantee based onthe prior art, it is not taken into consideration up to the coherency ofthe meta-data in the destination volume to keep the coherency of thefile system structure, and hence there is the danger that a large amountof files would be lost.

[0018] More specifically, in the case where the data which has beenwritten to the logical volume as the source of the copy by the filesystem is not transferred to the logical volume as the destination ofthe copy synchronously with the operation of writing the data to thefile system, with respect to the directory structure of the storageapparatus system having the logical volume as the destination of thecopy, the file system of the host computer may not become the-statewhich is intended in some cases.

[0019] Under above circumstance, the data of the storage apparatussystem having the logical volume as the source of the copy is destroyed,even if the file system recovery program such as fsck runs for thestorage apparatus system having the logical volume as the destination ofthe copy, it does not function effectively, and as a result thepossibility that many files are lost is high. Because, the fsck with onthe basis of the assumption that there is no contradiction between thedirectory structure of the storage apparatus system having the sourcevolume and the directory structure of the storage apparatus systemhaving the destination volume.

[0020] In the light of the foregoing, the present invention has beenmade in order to solve the above-mentioned problems associated with theprior art, and it is therefore an object of the present invention toprovide means for even when carrying out the remote copy of the noguarantee to order, keeping the coherency of the file system structurein the destination volume, so that even when the data in the sourcevolume is destroyed, the data in the source volume is recovered from thedestination volume by maintaining the coherency of the source volume.

[0021] In order to attain the above-mentioned object, according to thepresent invention, there is provided a storage apparatus system having ahost computer, a main storage apparatus system and a substorageapparatus system which is electrically connected to the main storageapparatus system, wherein an instruction is transmitted from the hostcomputer to the main storage apparatus system in such a way as tomaintain the data of the main storage apparatus system at a time pointwhen the instruction is issued and the fixed data is copied to thesubstorage apparatus system.

[0022] In addition, the storage apparatus system may also be configuredin such a way that the data which is maintained in the main storageapparatus system is transferred to the substorage system, and aftercompletion of the transfer of the maintained data, a signal exhibitingthe completion of the transfer of the data is transferred from the mainstorage apparatus system to the sub-storage apparatus system, so thatwith the reception of the signal exhibiting the completion of the datatransfer as a turning point, the data is structured in the substorageapparatus system.

[0023] In addition, the step of maintaining the state of the data is tostore the data in a first storage area of the main storage apparatussystem until the instruction is issued from the host computer to copy,after the instruction has been issued from the host computer, the datawhich was stored in the first storage area at a time point of the issueof the instruction to a second storage area of the main storageapparatus, and in the step of transferring the data, the data which hasbeen copied to the second storage area can also be transferred to thesub-storage apparatus system.

[0024] In addition, in the step of structuring the data, the maintaineddata which has been transferred is stored in a third storage area of thesubstorage apparatus system so that using the data which is held in thethird storage area, the maintained data can also be structured in afourth storage area of the substorage apparatus system.

[0025] Also, according to the present invention, there is provided astorage apparatus system including: a main storage apparatus systemwhich has a first storage area, a second storage area and a main diskcontroller and which is electrically connected to a host computer; and asubstorage apparatus system which has a third storage area, a fourthstorage area and a sub-disk controller and which is electricallyconnected to the main storage apparatus system, wherein the main diskcontroller includes: means for recording data which has been sent fromthe host computer in the first storage area until an instruction isissued from the host computer; means for in response to the instructionissued from the host computer, copying the data which is recorded in thefirst storage area to the second storage area; and means for sending thecopied data to the substorage apparatus system. Then, the sub-diskcontroller includes: means for receiving the data sent thereto to holdthe received data in the third storage area; and means for structuringthe data, which is held in the first storage area at a time point whenthe instruction has been issued from the host computer, in the fourthstorage area using the data which is held in the third storage area.

[0026] According to another aspect of the present invention, the hostcomputer issues a freezing instruction to the storage apparatus systemas the destination of the data transfer, and the storage apparatussystem as the source of the data transfer transfers the data, which isheld in the storage apparatus system at a time point of the issue of thefreezing instruction, and the arrangement thereof (hereinafter, referredto as “the volume image” for short, when applicable) to the storageapparatus system as the destination of the data transfer. All datatransfer completion is reported which means that the volume image at atime point when the freezing instruction has been issued has alreadybeen transferred to the storage apparatus system as the destination ofthe data transfer.

[0027] In the storage apparatus system as the destination of the datatransfer, the data of the volume image, at a time point of the issue ofthe freezing instruction, in the source of the data transfer is held,and when the report exhibiting the completion of the data transfer willbe made next time, the volume image will be updated using thetransferred data.

[0028] As a result, when the disk unit system in the source of the datatransfer at an arbitrary time point has become unusable, it is possibleto utilize the volume image which is held in the storage apparatussystem as the destination of the data transfer.

BRIEF DESCRIPTION OF THE DRAWINGS

[0029] The above and other objects as well as advantages of the presentinvention will become clear by the following description of thepreferred embodiments of the present invention with reference to theaccompanying drawings, wherein:

[0030]FIG. 1 is a block diagram showing a configuration of a computersystem to which a first embodiment of the present invention is applied;

[0031]FIGS. 2A to 2C are respectively schematic views useful inexplaining the flow of the data in the first embodiment;

[0032]FIG. 3 is a block diagram showing an internal configuration of aDKC;

[0033]FIG. 4 is a flow chart useful in explaining the write processingin the first embodiment;

[0034]FIG. 5 is a flow chart useful in explaining the main remote copyprocessing in the first embodiment;

[0035]FIG. 6 is a flow chart useful in explaining the sub-remote copyprocessing in the first embodiment;

[0036]FIG. 7 is a flow chart useful in explaining the main freezingprocessing in the first embodiment;

[0037]FIG. 8 is a flow chart useful in explaining the sub-freezingprocessing in the first embodiment;

[0038]FIG. 9 is a flow chart useful in explaining the sub-recoveryprocessing in the first embodiment;

[0039]FIG. 10 is a flow chart useful in explaining the readingprocessing in the first embodiment;

[0040]FIG. 11 is a schematic view useful in explaining the flow of thefreezing instruction corresponding to the first embodiment;

[0041]FIG. 12 is a block diagram showing a configuration of a computersystem to which a second embodiment of the present invention is applied;

[0042]FIGS. 13A to 13D are respectively schematic views useful inexplaining the flow of the data in the second embodiment;

[0043]FIG. 14 is a schematic view useful in explaining the flow of afreezing instruction in the second embodiment;

[0044]FIG. 15 is a flow chart useful in explaining the write processingA in the second embodiment;

[0045]FIG. 16 is a flow chart useful in explaining the main freezingprocessing A in the second embodiment;

[0046]FIG. 17 is a flow chart useful in explaining the sub-remote copyprocessing A in the second-embodiment;

[0047]FIG. 18 is a flow chart useful in explaining the sub-freezingprocessing A in the second embodiment;

[0048]FIG. 19 is a block diagram showing a configuration of a computersystem to which a third embodiment of the present invention is applied;

[0049]FIGS. 20A to 20D are respectively schematic views useful inexplaining the flow of the data in the third embodiment;

[0050]FIG. 21 is a schematic view useful in explaining the flow of afreezing instruction in the third embodiment;

[0051]FIG. 22 is a flow chart useful in explaining the main writeprocessing B in the third embodiment;

[0052]FIG. 23 is a flow chart useful in explaining the main freezingprocessing B in the third embodiment;

[0053]FIG. 24 is a flow chart useful in explaining the main copyprocessing B in the third embodiment;

[0054]FIG. 25 is a flow chart useful in explaining the main remote copyprocessing B in the third embodiment;

[0055]FIG. 26 is a flow chart useful in explaining the main freezingcompletion processing in the third embodiment;

[0056]FIG. 27 is a flow chart useful in explaining the sub-freezingprocessing in the third embodiment; and

[0057]FIG. 28 is a flow chart useful in explaining the sub-remote copyprocessing B in the third embodiment;

DESCRIPTION OF THE EMBODIMENTS

[0058] The preferred embodiments of the present invention willhereinafter be described in detail with reference to the accompanyingdrawings.

[0059]FIG. 1 is a block diagram showing a configuration of a firstembodiment of a computer system 1000 to which the present invention isapplied.

[0060] The computer system 1000 includes a host computer 1010, a mainstorage apparatus system 1180, a substorage apparatus system 1190 forcarrying out the remote copy between the main storage apparatus system1180 and the sub-storage apparatus system 1190, a sub-host computer 1020and a network 1050 through which the main storage apparatus system 1180and the sub-storage apparatus system 1190 are linked to each other.

[0061] The substorage apparatus system 1190 is used when the mainstorage apparatus system 1180 becomes unusable due to the calamity orthe like. The sub-host computer 1020, when the host computer 1010 or themain storage apparatus system 1180 becomes unusable, takes over theprocessing which the host computer 1010 is expected essentially toexecute, using the data in the sub-storage apparatus system 1190.

[0062] For the network 1050, it is assumed that it is the shared networksuch as the Internet, and the transfer rate of the data is not so high.In the present embodiment, it is assumed that the remote copy betweenthe main storage apparatus system 1180 and the substorage apparatussystem 1190 is carried out with the no guarantee to order while no heavyload is applied to the network 1050. By the way, the data transfer rateof the network 1050 may be high as well.

[0063] The main storage apparatus system 1180 includes a main disk unit1130 in which the data transferred from the host computer 1010 isstored, and a main disk controller 1030 (hereinafter, referred to as “aDKC” for short, when applicable) for controlling the main disk unit1130.

[0064] In the present embodiment, the host computer 1010 issues aninstruction to the main storage apparatus system 1180 in such a way asto carry out “the freezing” (hereinafter, referred to as “the freezinginstruction” when applicable).

[0065] The meaning of “the freezing” is to hold, for the substorageapparatus system 1190, the same volume image as that of the main storageapparatus system 1180 at a time point when the host computer 1010 hasissued the instruction.

[0066] The main disk unit 1130 includes a main volume 1120 and a maindifferential volume 1140. Each of the main volume and the maindifferential volume may be either the logical volume or the physicalvolume. In the case of the logical volume, as in the present embodiment,a plurality of volumes may be present in the main disk unit in somecases. On the other hand, in the case of the physical volume, the maindisk unit further includes a plurality of disk units each of whichconstitutes the physical volume. In addition, in the case as well of thelogical volume, the main disk unit may be constituted by a plurality ofdisk units.

[0067] In the main volume 1120, there is stored the data which has beentransferred from the host computer 1010 to the main storage apparatussystem 1180.

[0068] In the main differential volume 1140, for a time period rangingfrom a time point when the main storage apparatus system 1180 hasreceived the freezing instruction from the host computer 1010 up to atime point when the processing of the freezing has been completed(hereinafter, such a time period is referred to as “in the freezing” forshort, when applicable), there is stored the data which has beentransferred from the host computer 1010.

[0069] The main DKC 1030 has a main freezing mode 1060, a main bitmap1070 and a main differential bitmap 1080 on the memory.

[0070] The main freezing mode 1060 shows whether or not the main DKC1030 itself is executing the process of the freezing. For example, if itis judged that the main DKC 1030 itself is executing the processing inthe freezing, then the mode becomes 1.

[0071] The main bitmap 1070 and the main differential bitmap 1080 havethe respective bits each corresponding to a block which the main volume1120 has.

[0072] The main bitmap 1070 shows the blocks in the main volume 1120.These blocks are the data, which are not yet transferred to the sub-DKC1040, among the data stored in the main volume 1120 before the mainstorage apparatus system 1180 receives the freezing instruction from thehost computer 1010.

[0073] The main differential bitmap 1080 shows the blocks which containthe data which the main disk unit 1130 has received from the hostcomputer 1010 while the main DKC 1030 is executing the process of thefreezing.

[0074] The data is stored in the log-structured postscript type fileformat in the main difference volume 1140. The block numbers exhibitingcorresponding blocks in the main volume 1120 are also contained in thestored data.

[0075] In the case where the write data to be written to the main volume1120 is received while the main DKC 1030 is executing the process of thefreezing, the main DKC 1030 checks the main differential bitmap 1080.When the write data to be written has already been present in the maindifferential volume 1140, the data which was written to the maindifferential volume 1140 prior thereto is cancelled in such a way that aplurality of data written to the same block are not present in the maindifferential volume 1140.

[0076] The substorage apparatus system 1190 includes a sub-disk unit1160 in which the data which has been remote-copied from the mainstorage apparatus system 1180 is stored, and a sub-DKC 1040 forcontrolling the sub-disk unit 1160.

[0077] The sub-disk unit 1160 includes a sub-volume 1150, asub-differential volume A 1170 and a sub-differential volume B 1175.

[0078] In the sub-volume 1150, there is stored the volume image of themain volume 1120 at a certain time point, more specifically, at a timepoint when the host computer 1010 previously issued the freezinginstruction to the main storage apparatus system 1180.

[0079] In the sub-differential volume A 1170, there is stored the datawhich was written to the main storage apparatus system 1180 on and afterthe host computer 1010 previously issued the freezing instruction to themain storage apparatus system 1180.

[0080] The blocks of the sub-volume 1150 and the main volume 1120 showone-to-one correspondence.

[0081] The sub-DKC 1040 includes a sub-freezing mode 1090, a sub-bitmap1100 and a sub-differential bitmap 1110 on a memory (not shown).

[0082] The value of the sub-freezing mode 1090 becomes zero when thesub-DKC 1040 does not execute the process of the freezing, and becomes 1or 2 when the sub-DKC 1040 is executing the process of the freezing.

[0083] The sub-bitmap 1100 and the sub-differential bitmap 1110 areconstituted with the same number of bits as the number of blocks whichthe sub-volume A 1150 has, and 1 bit corresponds to 1 block.

[0084] The sub-bitmap 1100 shows the presence or absence of the datawhich is stored in the subdifferential volume A 1170.

[0085] The sub-differential bitmap 1110 shows the presence or absence ofthe data which is stored in the sub-differential volume B 1175.

[0086] The data is respectively stored in the log-structured type fileformat in the sub-differential volume A 1170 and the sub-differentialvolume B 1175 similarly to the main differential volume 1140. The blocknumbers exhibiting the corresponding blocks in the sub-volume 1150 arealso contained in the data which is respectively stored therein.

[0087] The sub-DKC 1040 executes the same processing as that in the mainDKC 1030 to cancel the old data in such a way that two or more datacorresponding to the same block is not present in the sub-differentialvolume A 1170 and the sub-differential volume B 1175.

[0088] While in the present embodiment, the host computer 1010 issuesthe freezing instruction, alternatively, the main DKC 1030 or the subDKC 1040 may issue the freezing instruction.

[0089] The application program which runs on the host computer 1010issues an instruction to write data to the main storage apparatus system1180. But, in actuality, there may be the case where the data is writtento the cache or buffer memory of the host computer 1010 and hence thecontents of the data stored in the main storage apparatus system 1180become the state which the application program does not intend (i.e.,the data which ought to have been written is not yet written in actual).

[0090] If under this state, the host computer 1010 has gone down due toa shutdown of the power source, and the file system recovery programsuch as fsck is executed for the main storage apparatus system 1180,then there is the possibility that the data which is not reflected inthe main storage apparatus system 1180 may be lost.

[0091] In order to prevent the data which is not reflected in the mainstorage apparatus system 1180 from being lost, the main DKC 1030 or thelike should not issue freely the instruction for the freezing, but theinstruction for the freezing should be issued after the host computer1010 has written all of the unreflected data on the cache or buffermemory to the main storage apparatus system 1180.

[0092]FIGS. 2A to 2C show the flow of the data in the presentembodiment.

[0093]FIG. 2A is a schematic view showing the flow of the data in thestate in which the host computer 1010 has not yet issued the freezinginstruction, i.e., in the normal state.

[0094] The data which has been sent from the host computer 1010 iswritten to the main volume 1120 (indicated by an arrow A 100). The datawhich has been newly written to the main volume 1120 is read out fromthe main volume 1120 to the main DKC 1030 to be transferred to thesub-DKC 1040 to be written to the sub-differential volume 1170(indicated by an arrow B 110).

[0095] At an arbitrary time point in FIG. 2A, in the sub-volume 1150,there is stored the same volume image as that of the main volume 1120 ata time point when the host computer 1010 issued the freezing instructionlast time.

[0096]FIG. 2B is a schematic view showing the flow of the data from atime point after the host computer 1010 issues the freezing instructionup to a time point when the main DKC 1030 issues a notification commandreporting that all of the data has been sent (hereinafter, referred toas “all freezing data transmission completion”, when applicable) to thesub-DKC 1040.

[0097] If the data sent from the host computer 1010 is the data which isto be stored in the block of the main disk unit 1130 in which data at atime point when the host computer 1010 issued the freezing instructionhas already been sent to the sub-DKC 1040, it is written to the mainvolume 1120 as it is (indicated by an arrow C 120). On the other hand,if the data which has been sent from the host computer 1010 is the datato be stored in the block which is still holding the data not yet sentto the sub-DKC 1040, it is written to the main differential volume 1140(indicated by an arrow D 130).

[0098] The block containing the data which is stored in the main volume1120 and which is not yet sent to the sub-DKC 1040 at a time point whenthe freezing instruction issued from the host computer 1010 is read outfrom the main volume 1120 to the main DKC 1030 to be transferred to thesub-DKC 1040 to be written to the sub-differential volume A 1170(indicated by an arrow E 140).

[0099] The main DKC 1030, in accordance with the contents of the mainbitmap 1070, transfers all of the difference data between the mainvolume 1120 and the sub-volume 1150 at a time point when the freezinginstruction issued from the host computer 1010 to the sub-differentialvolume A 1170. After completion of all of the transfers, the main DKC1030 informs the sub-DKC 1040 that all of the freezing data has beentransferred.

[0100] At an arbitrary time point in FIG. 2B, in the sub-volume 1150,there is stored the volume image having the same contents as those ofthe volume image which the main volume 1120 held at a time point whenthe host computer 1010 issued the instruction for the freezing lasttime.

[0101]FIG. 2C is a schematic view showing the flow of the data rangingfrom a time point when the main DKC 1030 informed the sub-DKC 1040 ofthat all of the freezing data has been transferred up to a time pointwhen the main DKC 1030, using the data stored in the main differentialvolume 1140, updates the data stored in the main volume 1120, and alsothe sub-DKC 1040, using the data stored in the sub-differential volume A1170, updates the data which is stored in the sub-volume 1150.

[0102] The data which has been transferred from the host computer 1010is written to the main volume 1120 (indicated by an arrow F 150).

[0103] The data which is stored in the main volume 1120 is updated onthe basis of the data which is stored in the main differential volume1140 (indicated by an arrow G 160). But, in the case where the blockcontaining the data becoming an object of the update is already updatedthe data which has been transferred from the host computer 1010, theupdate of the data in the main volume 1120 corresponding to the datastored in the main differential volume 1140 is not carried out.

[0104] The data which has been transferred from the host computer 1010to the main disk unit 1130 after the freezing instruction from the hostcomputer 1010 is read out from the main volume 1120 to the main DKC 1030to be sent to the sub-DKC 1040 to be stored in the sub-differentialvolume B 1175 (indicated by an arrow H 170).

[0105] The sub-DKC 1040 reads out the data in the sub-differentialvolume A 1170 to the sub-DKC 1040 to store that data in the sub-volume1150 (indicated by an arrow I 180).

[0106] At an arbitrary time point in FIG. 2C, the data stored in thesub-volume 1150 is combined with the data stored in the sub-differentialvolume A 1170, whereby the volume image of the main volume 1120 at atime point when the host computer 1010 issued the freezing instructionto the main DKC 1030 that time is reproduced.

[0107] From the foregoing, in FIGS. 2A and 2B, the data of the volumeimage having the same contents as those of the data of the volume imageof the main disk unit 1120 at a time point when the freezing instructionwas issued by the host computer 1010 last time is present in thesub-volume 1150. In FIG. 2C, the data of the volume image having thesame contents as those of the data of the volume image in the main diskunit 1120 at a time point when the freezing instruction was issued atthat time can be reproduced by combining the data stored in thesub-volume 1150 with the data in the sub-differential volume A 1170.

[0108] In other words, in any case, the volume images which are coherentwith the volume images of the main disk unit 1120 at a time point whenthe host computer 1010 issued the freezing instruction is prepared inthe sub-disk unit 1160.

[0109]FIG. 3 is a block diagram of the main DKC 1030.

[0110] The main DKC 1030 includes a host interface 1210, a driveinterface 1230, a network interface 1220, a CPU 1240, a ROM 1250, a RAM1260, and a direct memory access controller 1270.

[0111] The program which runs on the CPU 1240 is stored in the ROM 1250.

[0112] The main freezing mode 1060, the main bitmap 1070, and the maindifferential bitmap 1080 are stored in the RAM 1260. The RAM is alsoused as the cache memory.

[0113] The CPU 1240 controls the main storage apparatus 1180. In the CPU1240, a multitask operating system is running, so a write processing2000, a main freezing processing 2600 and the like can be processed inparallel with one another.

[0114] The sub-DKC 1040 has also the same configuration as that of themain DKC 1030. But, in the sub-DKC 1040, the host interface 1210 iselectrically connected to the sub-host computer 1020, and the driveinterface 1230 is electrically connected to the sub-disk 1160. In theRAM 1260, the sub-freezing mode 1090, the sub-bitmap 1100 and thesub-differential bitmap 1110 are stored.

[0115]FIG. 4 is a flow chart of the write processing 2000 which isexecuted in the main DKC 1030 when the host computer 1010 sends thewrite command to write data and the data to be written (hereinafter,referred to as “the write data” for short, when applicable) to the mainstorage apparatus system 1180.

[0116] The main DKC 1030 receives the write data through the hostinterface 1210 (Step 2010) to judge whether or not the main freezingmode 1060 stored in the RAM 1260 is in the ON state (Step 2020).

[0117] If it is judged in Step 2020 that the main freezing mode 1060 isin the OFF state, then the main DKC 1030 sets to 1 the bit of the mainbitmap 1070 corresponding to the block having the main volume 1120 towhich the write data received by the main DKC 1030 is written (Step2030).

[0118] The main DKC 1030 controls the main disk unit 1130 in such a waythat the write data is written to the main volume 1120 (Step 2040). Themain DKC 1030 itself judges whether or not a main remote copy processing2200 is being executed (Step 2050). If it is judged in Step 2050 thatthe main remote copy processing 2200 is not being executed, then theremote processing is completed after the main DKC 1030 has executed themain remote copy processing 2200. On the other hand, if it is judged inStep 2050 that the main remote copy processing 2200 is being executed,then the write processing 2000 is completed.

[0119] If it is judged in Step 2020 that the main freezing mode 1060 isin the ON state, then the main DKC 1030 judges whether or not the bit ofthe main bitmap 1070 corresponding to the block to which the receivedwrite data is to be written is 1 (Step 2060). If it is judged in Step2060 that the corresponding bit is zero, then the processing in Step2030 is executed. On the other hand, if it is judged in Step 2060 thatthe corresponding bit is 1, then the bit of the main differential bitmap1080 corresponding to the block in the main volume 1120 in which thereceived write data is to be stored is set to 1 (Step 2070).

[0120] The main DKC 1030 controls the main disk unit 1130 in such a waythat the block number information in the main volume 1120 is added tothe received write data, and then the write data is written to the maindifferential volume 1140 (Step 2080). Thereafter, the processing in Step2050 is executed.

[0121]FIG. 5 is a flow chart in explaining a main remote copy processing2200 which the main DKC 1030 executes.

[0122] The main remote copy processing 2200 is the processing which iscalled from the above-mentioned write processing 2000 and from the mainfreezing processing 2600 which will be described later.

[0123] The main DKC 1030 judges whether or not the corresponding bit ofthe main bitmap 1070 is 1 and also whether or not the block whichcontains the data stored in the RAM 1260 is present in the main volume1120 (Step 2230). If it is judged in Step 2230 that the blockcorresponding to the condition is present therein, then the main DKC1030 specifies the block of interest to execute the processing in Step2260.

[0124] On the other hand, if it is judged in Step 2230 that the blockcorresponding to the condition is absent, then the main DKC 1030 judgeswhether or not the bit of 1 is present in the main bitmap 1070 (Step2240). If it is judged in Step 2240 that the bit of 1 is not present inthe main bitmap 1070, then the main remote copy processing 2200 iscompleted.

[0125] On the other hand, if it is judged in Step 2240 that the bit of 1is present in the main bitmap 1070, then the main DKC 1030 specifies theblock corresponding to the bit of 1 in the main bitmap 1070 to read outthe data in the block thus specified from the main volume 1120 to storethe data thus read out in the RAM 1260 (Step 2250).

[0126] The main DKC 1030 makes zero the bit of the main bitmap 1070corresponding to the specified block (Step 2260). The main DKC 1030transfers the data, which has been read out, to the sub-DKC 1040 throughthe network interface 1220 (Step 2270).

[0127] After having received the report, from the sub-DKC 1040, that thesub-DKC 1040 received the data of interest (Step 2280), the main DKC1030 returns back to the processing in Step 2230.

[0128]FIG. 6 is a flow chart useful in explaining a sub-remote copyprocessing 2400 which the sub-DKC 1040 executes at the time when themain DKC 1030 has sent the data to the sub-DKC 1040.

[0129] The sub-DKC 1040 receives the data which has been sent from themain DKC 1030 through the network interface 1220 (Step 2410), and thentransmits the report exhibiting the reception of the data to the mainDKC 1030 (Step 2420).

[0130] The sub-DKC 1040 judges whether or not the value of thesub-freezing mode 1090 stored in the RAM 1260 is 2 (Step 2430), and ifit is judged in Step 2430 that the value of interest is not 2, controlsthe sub-disk unit 1160 in such a way that the received data is writtento the sub-differential value A 1170 (Step 2440).

[0131] The sub-DKC 1040 makes 1 the bit of the sub-bitmap 1100corresponding to the block having the written data to complete thesub-remote processing 2400 (Step 2450).

[0132] On the other hand, if it is judged in Step 2430 that the value ofthe sub-freezing mode 1090 is 2, then the sub-DKC 1040 controls thesub-disk unit 1160 in such a way that the received data is written tothe sub-differential value B 1175 (Step 2460).

[0133] The sub-DKC 1040 sets to 1 the bit of the sub-differential bitmap1110 corresponding to the block having the written data to complete thesub-remote copy processing 2400 (Step 2470).

[0134]FIG. 7 is a flow chart useful in explaining a main freezingprocessing 2600 which the main DKC 1030 executes at the time when thehost computer has issued the freezing instruction.

[0135] After having received the freezing instruction from the hostcomputer 1010 through the host interface 1210, the main DKC 1030 turnsON the main freezing mode 1060 which is stored in the RAM 1260 (Step2610).

[0136] The main DKC 1030 transmits the freezing instruction to thesub-DKC 1040 (Step 2620). The main DKC 1030 judges whether or not themain DKC 1030 itself is executing the remote copy processing 2200 (step2625).

[0137] If it is judged in Step 2625 that the main DKC 1030 itself isexecuting the remote copy processing 2200, then the main DKC 1030, afterhaving carried out the step of waiting for some time (e.g., severalmilliseconds) (Step 2635), executes the processing in Step 2640.

[0138] On the other hand, if it is judged in Step 2625 that the main DKC1030 itself is not executing the remote copy processing 2200, then themain remote copy processing 2200 is executed (Step 2630) to execute theprocessing in Step 2640.

[0139] In Step 2640, the main DKC 1030 judges whether or not all of thebits of the main bitmap 1070 are zero. If the bit exhibiting 1 ispresent in the main bitmap 1070, then since the data to be sent to thesub-DKC 1040 still remains in the main disk unit 1130, the main DKC 1030executes again the processings after Step 2625 until all of the bits ofthe main bitmap 1070 have become zero.

[0140] On the other hand, if it is judged in Step 2640 that all of thebits of the main bitmap 1070 are zero, then the main DKC 1030 transmitsthe information, that the freezing data has already been transmitted, tothe sub-DKC 1040 (Step 2650).

[0141] The main DKC 1030 judges whether or not all of the values of themain differential bitmap 1080 are zero (Step 2660).

[0142] If it is judged in Step 2660 that all of the values of the maindifferential bitmap 1080 are not zero, then the main DKC 1030 controlsthe main disk unit 1130 in such a way that the data of the block, inwhich the bit in the main differential bitmap 1080 is 1, is read outfrom the main differential volume 1140 (Step 2670) to be written to theblock to which the main volume 1120 corresponds (Step 2680).

[0143] The main DKC 1030 sets to zero the bit of the main differentialbitmap 1080 corresponding to the block containing the written data (Step2690), while it sets to 1 the corresponding bit of the main bitmap 1070to return back to the processing in Step 2660 (Step 2695).

[0144] On the other hand, if it is judged in Step 2660 that all of thevalues of the main differential bitmap 1080 are zero, then the main DKC1030 waits for the completion report from the sub-DKC 1040 (Step 2700).After having received the completion report transmitted from the sub-DKC1040 (Step 2710), the main DKC 1030 turns OFF the main freezing mode1060 which is stored in the RAM 1260 (Step 2720) to transmit a signalexhibiting the freezing processing completion report to the hostcomputer 1010 to complete the main freezing processing 2600 (Step 2730).

[0145] Upon completion of the processing in Step 2650, the processing inStep 2700 may be executed, and the update processing for the maindifferential volume (Steps 2660 to 2695) may be executed aftercompletion of the main freezing processing.

[0146]FIG. 8 is a flow chart useful in explaining a sub-freezingprocessing 2800 which the sub-DKC 1040 executes at the time when themain DKC 1030 has issued the freezing instruction to the sub-DXC 1040.

[0147] After having received the freezing instruction command from themain DKC 1030, the sub-DKC 1040 sets to 1 the sub-freezing mode 1090which is stored in the RAM 1260 (Step 2810) to wait for the report,exhibiting that all of the freezing data has already been transmitted,from the main DKC 1030 (Step 2920).

[0148] After having received the report exhibiting the completion of thetransmission of all of the freezing data from the main DKC 1030, thesub-DKC 1040 sets to 2 the sub-freezing mode 1090 (Step 2825).

[0149] The sub-DKC 1040 judges whether or not the corresponding bit ofthe sub-bitmap 1100 stored in the RAM 1260 is 1 and also whether or notthe corresponding block having the data is present on the RAM 1260 (Step2830).

[0150] If it is judged in Step 2830 that the corresponding block ispresent on the RAM 1260, then the sub-DKC 1040 executes the processingin Step 2860. On the other hand, if it is judged in Step 2830 that thecorresponding block is not present on the RAM 1260, then it is judgedwhether or not the block in which the corresponding bit of thesub-bitmap 1100 is 1 is present (Step 2840).

[0151] If it is judged in Step 2840 that the block in which thecorresponding bit of the sub-bitmap 1100 is 1 is present, then thesub-DKC 1040 reads out the data corresponding to the bit as 1 from thesub-differential volume A 1170 to the RAM 1260 (Step 2850) to write thedata of interest to the block of the sub-volume 1150 corresponding tothe data read to the RAM 1260 (step 2860).

[0152] The sub-DKC 1040 sets to zero the bit of the sub-bitmap 1100corresponding to the data which has already been written (Step 2870) toreturn back to the processing in Step 2830.

[0153] On the other hand, if it is judged in Step 2840 that the block inwhich the corresponding bit of the sub-bitmap 1100 is 1 is absent, thenthe sub-DKC 1040 sets to zero the sub-freezing mode 1090 (Step 2880) totransmit the report exhibiting the completion of the sub-freezingprocessing to the main DKC 1030 (Step 2890) to complete the sub-freezingprocessing 2800.

[0154]FIG. 9 is a flow chart useful in explaining a sub-recoveryprocessing 3000 which the sub-DKC 1040 executes in accordance with theinstruction from the sub-host computer 1020 in the case where the hostcomputer 1010 and the main storage apparatus 1180 become both unusableat all due to a disaster or the like.

[0155] After having received the instruction issued from the sub-hostcomputer 1020, the sub-DKC 1040 judges whether or not the sub-freezingmode 1090 is 1 (Step 3010). If it is judged in Step 1040 that thesub-freezing mode 1090 is 1, then the sub-DKC 1040 suspends thesub-freezing processing 2800 which the sub-DKC 1040 itself is executing(Step 3040) to set to zero the sub-freezing mode (Step 3050).

[0156] The sub-DKC 1040 initiallizes all of the values of thesub-differential bitmap to zero (Step 3060) to erase the informationwhich the subdifferential volume A 1170 and the sub-differential volumeB 1175 have (Step 3070).

[0157] The sub-DKC 1040 transmits the completion report to the sub-hostcomputer 1020 (Step 3080) to complete the sub-recovery processing 3000.

[0158] On the other hand, if it is judged in Step 3010 that thesub-freezing mode 1090 is not 1, then the sub-DKC 1040 judges whether ornot the sub-freezing mode 1090 is zero (Step 3020). If it is judged inStep 3020 that the sub-freezing mode 1090 is zero, then the sub-DKC 1040executes the processing in Step 3060. On the other hand, if it is judgedin Step 3020 that the sub-freezing mode 1090 is not zero, then thesub-DKC 1040 waits for the sub-freezing mode 1090 to become zero toexecute the processing in Step 3020 (Step 3030).

[0159] By executing the sub-recovery processing 3000, the volume imageof the main volume 1120 at a time point when the freezing instructionwas issued from the host computer 1010 to the main DKC 1030 last time orthis time is copied to the sub-volume 1150. Then, the sub-host computer1020 can use freely the copied volume image.

[0160]FIG. 10 is a flow chart useful in explaining a read processing3200 which the main DKC 1030 executes at the time when the host computer1010 has issued the read command to read the data to the main storageapparatus system 1180.

[0161] After having received the read command issued from the hostcomputer 1010, the main DKC 1030 judges whether or not the data whichhas been requested from the host computer 1010 is present in the RAM1260 (Step 3205).

[0162] If it is judged in Step 3205 that the requested data is notpresent in the RAM 1260, then the main DKC 1030 checks the main freezingmode (Step 3210). If it is judged in Step 3210 that the main freezingmode 1060 is OFF, then the main DKC 1030 reads out the requested datafrom the main volume 1130 (Step 3220) to transfer the data of interestto the host computer 1010 to complete the read processing 3200 (Step3230).

[0163] On the other hand, if it is judged in Step 3210 that the mainfreezing mode 1060 is ON, then the main DKC 1030 judges whether or notthe bit of the main differential bitmap 1080 corresponding to the datarequested from the host computer 1010 is 1 (Step 3240).

[0164] If it is judged in Step 3240 that the corresponding bit is zero,then the main DKC 1030 executes the processing in Step 3220. On theother hand, if it is judged in Step 3240 that the corresponding bit is1, then the main DKC 1030 finds out the data, which has been requiredfrom the host computer 1010, from the main differential volume 1140 toread out the data thus found out to execute the processing in Step 3230(Step 3250).

[0165] On the other hand, if it is judged in Step 3205 that therequested data is present in the RAM 1260, then the main DKC 1030executes the processing in Step 3230.

[0166]FIG. 11 is a schematic view useful in explaining the transmissionand the reception of the freezing instruction between the apparatusesincluded in the host computer 1000.

[0167] In FIG. 11, the vertical axis represents the time base. Thus, itis meant that the time elapses as the position on the drawing is locatedmore downwardly.

[0168] The host computer 1010 issues the freezing instruction to themain DKC 1030, and then in response to the freezing instruction issuedthereto, the main DKC 1030 issues the freezing instruction to thesub-DKC 1040.

[0169] After having transferred the volume image of the main volume 1120at a time point of the reception of the freezing instruction to thesub-DKC 1040, the main DKC 1030 transmits the report showing thecompletion of the transfer of all of the freezing data to the sub-DKC1040.

[0170] The sub-DKC 1040 reflects the data of the main volume 1120 at atime point of the issue of the freezing instruction to the sub-volume1150, and after completion of the reflection of the data, informs themain DKC 1030 of the completion of the freezing. In response thereto,the main DKC 1030 informs the host computer 1010 of the completion ofthe freezing.

[0171] By adopting the configuration of the present embodiment, the datawhich is held in the main disk unit at a time point when the freezinginstruction is issued from the host computer 1010 can be held in thesub-disk unit, and hence even when the data is destroyed, the loss ofthe data can be suppressed to a minimum.

[0172] In other words, the sub-storage apparatus system 1190 holds thedata at a time point of the issue of the freezing instruction and at thesame time, holds as the differential data the data which was written onand after that time point. This freezing is carried out at periodicintervals, whereby when the data of the main storage apparatus system1180 is not able to be used due to for some cause or other, all of thedata at a time point when it was frozen last time can be obtained fromthe sub-storage apparatus system 1190.

[0173] In this connection, while in the present embodiment, thedescription has been given on the assumption that a plurality of volumesare present inside of the main disk unit 1130, the present invention isnot intended to be limited thereto. That is, a plurality of disk unitsmay be present in the main storage apparatus system 1180, and each ofthe disk units may take the function of the volume on itself. This isalso applied to the sub-disk unit 1160.

[0174]FIG. 12 is a block diagram showing a configuration of a secondembodiment of the computer system 1000 to which the present invention isapplied.

[0175] A point of difference of the present embodiment from the firstembodiment is that the copy of the coherent volume image at the timewhen the freezing instruction has been issued from the host computer1010 is generated in the main disk unit 1130 once, and the data istransferred from the volume thus generated to the sub-DKC.

[0176] The present embodiment is also different from the firstembodiment in that two volumes are prepared for the sub-storageapparatus system, and one of them is made the volume which is used inorder to generate the coherent volume.

[0177] The description will hereinafter be given with respect to pointsof difference from the computer system 1000 of the first embodiment. Theparts which will not be described here have the same configurations asthose of the first embodiment, and hence are designated with the samereference numerals.

[0178] A main disk unit 1130′ includes a main main-volume 1300 and amain sub-volume 1310.

[0179] In the main main-volume 1300, there is stored the data which hasbeen transferred from the host computer 1010. The main sub-volume 1310is used when copying the volume image of the main main-volume 1300 at atime point when the freezing instruction was issued. The blocks whichthe main main-volume 1300 and the main sub-volume 1310 have,respectively, show one-to-one correspondence.

[0180] The main DKC 1030′ has a main bitmap A 1340, a main bitmap B1350, and a main bitmap C 1360 all of which are contained in the RAM1260.

[0181] The main bitmap A 1340, when the contained bit is 1, with respectto the block corresponding to that bit, shows that the contents of thedata which is stored in the main main-volume 1300 are different fromthose of the data which is stored in the main sub-volume 1310.

[0182] While the main bitmap B 1350 also shows the difference betweenthe main main-volume 1300 and the main sub-volume 1310, only the bitcorresponding to the block in which after the freezing instruction hasbeen transmitted from the host computer 1010, the data is written to themain main-volume 1300 becomes 1.

[0183] The main bitmap C 1360 shows that there is the difference in thecontents between the main sub-volume 1310 and a sub-main-volume 1320.

[0184] A sub-disk unit 1160′ includes the sub-main-volume 1320 and asub-sub-volume 1330.

[0185] To the sub-main-volume 1320, there is written the data which hasbeen transferred from the main DKC 1030′. In the sub-sub-volume 1330,there is built the volume image of the main main-volume 1300 at a timepoint when the freezing processing was executed last time.

[0186] A sub-DKC 1040′ has a sub-bitmap A 1370 showing the differencebetween the sub-main-volume 1320 and the sub-sub-volume 1330. Then, thesub-bitmap A 1370 is contained in the RAM 1260. In the presentembodiment, the sub-freezing mode 1090 is not used.

[0187]FIGS. 13A to 13D are respectively schematic views showing the flowof the data corresponding to the present embodiment.

[0188] In FIG. 13A, there is shown the flow of the data in the casewhere the host computer 1010 does not issue the freezing instruction.

[0189] The data which has been transferred from the host computer 1010is written to the main main-volume 1300 (indicated by an arrow J 190).

[0190] Then, it is assumed that in the sub-sub-volume 1330, there isstored the data of the volume image of the main main-volume 1300 at atime point when the host computer 1010 issued the freezing instructionlast time.

[0191] In FIG. 13B, there is shown the flow of the data for a timeperiod ranging from a time point when a host computer 1010 has issuedthe freezing instruction up to a time point when the main storageapparatus system 1180 generates, in the main sub-volume 1310, the copyof the volume image of the main main-volume 1300 at a time point whenthe main storage apparatus system 1180 issued the freezing instruction.

[0192] The main disk unit 1130 copies the data from the main main-volume1300 to the main sub-volume 1310 (indicated by an arrow L 210).

[0193] While the data which the main DKC 1030′ has received is writtento the main main-volume 1300 (indicated by an arrow K 200), in the caseof writing of the data to the block in which the copy to the mainsub-volume 1310 is not yet carried out, after completion of theprocessing of copying the data indicated by the arrow L 210, the data iswritten to the main main-volume 1300.

[0194] In FIG. 13C, there is shown the flow of the data for a timeperiod ranging from a time point when the volume image of the mainmain-volume 1300 at a point when the host computer 1010 issued thefreezing instruction has been generated in the main sub-volume 1310 upto a time point when the volume image generated in the main sub-volume1310 is generated in the sub-main-volume 1320 which the sub-DKC 1040′manages.

[0195] The data which has been transferred from the host computer 1010is written to the main main-volume 1300 (indicated by the arrow M 220).The data of the main sub-volume 1310 is read out to the main DKC 1030′to be transferred to the sub-DKC 1040′ to be written to thesub-main-volume 1320 (indicated by the arrow N 230).

[0196] In FIG. 13D, there is shown the flow of the data for a timeperiod ranging from a time point when the volume image of the mainmain-volume 1300 at a time point when the host computer 1010 issued thefreezing instruction to the sub-main-volume 1320 has been generated upto a time point when the volume image thus generated is copied to thesub-sub-volume 1330.

[0197] The data which has been transferred from the host computer 1010is written to the main main-volume 1300 (indicated by an arrow O 240).

[0198] The sub-DKC 1040′ controls the copy of the data from thesub-main-volume 1320 to the sub-sub-volume 1330 (indicated by an arrow P250).

[0199] In the present embodiment, the copy of the data for duplicatingthe volume image of the main main-volume 1300 is carried out in such away that of the data which is stored in the source volume and in thedestination volume, only the differential data is subjected to thedifferential copy.

[0200] In FIGS. 13A, 13B and 13C, the sub-sub-volume 1330 holds thevolume image of the main main-volume 1300 at a time point when the hostcomputer 1010 issued the freezing instruction last time.

[0201] In FIG. 13D, the sub-main-volume 1320 holds the volume image ofthe main main-volume 1300 at a time point when the host computer 1010has issued the freezing instruction this time.

[0202] Therefore, volume image of the main main-volume 1300 at a timepoint when the host computer 1010 issued the freezing instruction willbe held in any case.

[0203]FIG. 14 is a schematic view useful in explaining the flow of thefreezing instruction in the computer system 1000 of the presentembodiment. In the figure, the vertical direction represents the timebase. Thus, it is meant that the time elapses as the position on thedrawing is located more downwardly.

[0204] The host computer 1010 issues the freezing instruction to themain DKC 1030′. In response to the freezing instruction issued thereto,the main DKC 1030′ differential-copies (hereinafter, the differentialcopy will be referred to as “the split”, when applicable) all of thedata, which is stored in the main main-volume 1300 at a time point whenthe freezing instruction was issued, to the main sub-volume 1310. Aftercompletion of the differential copy, the main DKC 1030′ reads out thedata of the main sub-volume 1310 to transmit the data thus read out tothe sub-DKC 1040′. Then, the sub-DKC 1040′ writes the data which hasbeen received from the main DKC 1030′ to the sub-main volume 1320.

[0205] The main DKC 1030′ issues the freezing instruction to the sub-DKC1040′. After having received the freezing instruction, the sub-DKC 1040′splits the volume image of the sub-main volume 1320 to thesub-sub-volume 1330. After completion of the split, the sub-DKC 1040′transmits the report exhibiting the completion of the freezing to themain DKC 1030′. After having received this report, the main DKC 1030′informs the host computer 1010 of the completion of the freezing.

[0206]FIG. 15 is a flow chart useful in explaining a write processing A3400 which the main DKC 1030′ executes when the host computer 1010transmits the data to the main storage apparatus system 1180.

[0207] The main DKC 1030′ receives the write data from the host computer1010 (Step 3410) to judge whether or not the main freezing mode 1060 isin the ON state (Step 3420).

[0208] If it is judged in Step 3420 that the main freezing mode 1060 isin the ON state, then the main DKC 1030′ judges whether or not the bitof the main bitmap A 1340 corresponding to the block in which thetransferred data is stored is 1 (Step 3430).

[0209] If it is judged in Step 3420 that the bit of the main bitmap A1340 is zero, then the main DKC 1030′ executes the processing in Step3470. On the other hand, if it is judged in Step 3420 that the bit ofthe main bitmap A 1340 is 1, then the main DKC 1030′ controls the maindisk unit 1130 in such a way as to copy the data stored in the blockcorresponding to the bit of 1 from the main main volume 1300 to the mainsub-volume 1310 (Step 3440).

[0210] After completion of the copy, the main DKC 1030′ sets to zero thecorresponding bit of the main bitmap A 1340 (Step 3450) and also sets to1 the corresponding bit of the main bitmap C 1360 (Step 3460).

[0211] The main DKC 1030′ sets to 1 the bit of the main bitmap B 1350corresponding to the block in which the transferred data is stored (Step3470) to write the write data to the corresponding block of the mainmain-volume 1300 to complete the write processing A 3400 (Step 3480).

[0212] On the other hand, if it is judged in Step 3420 that the mainfreezing mode is in the OFF state, then the main DKC 1030′ sets to 1 thecorresponding bit of the main bitmap A to execute the processing in Step3480 (Step 3490).

[0213]FIG. 16 is a flow chart useful in explaining the main freezingprocessing A 3600 which the main DKC 1030′ executes when the hostcomputer 1010 has issued the freezing instruction to the main DKC 1030′.

[0214] After having received the freezing instruction from the hostcomputer 1010 (Step 3610), the main DKC 1030′ makes the ON state themain freezing mode (Step 3620) to judge whether or not all of the bitsof the main bitmap A 11340 is zero (Step 3630).

[0215] If it is judged in Step 3630 that all of the bits of the mainbitmap A 1340 are not zero, then the main DKC 1030′ specifies the blockin which the bit is 1 in the main bitmap A 1340 (Step 3640). Then, themain DKC 1030′ reads out the specified block of the main main volume1300 to control the main disk 1130′ in such a way as to copy the blockthus read out to the main sub-volume 1310 (Step 3650).

[0216] After completion of the copy of the specified block, the main DKC1030′ sets to zero the corresponding bit of the main bitmap A 1340 (Step3660), while sets to 1 the corresponding bit of the main bitmap C 1360to return back to the processing in Step 3630 (Step 3670).

[0217] If it is judged in Step 3630 that all of the bits of the mainbitmap A 1340 are zero, then the main DKC 1030′ judges whether or notall of the bits of the bitmap C1360 are zero (Step 3680).

[0218] If it is judged in Step 3680 that all of the bits of the mainbitmap C1360 are not zero, then the main DKC 1030′ selects the bit as 1of the main bitmap C 1360 (Step 3690) to read out the blockcorresponding to the bit of the main sub-volume 1310 to transmit theblock thus read out to the sub-DKC 1040′ (Step 3700).

[0219] The main DKC 1030′ sets to zero the corresponding bit of the mainbitmap C 1360 to return back to the processing in Step 3680 (Step 3710).

[0220] On the other hand, if it is judged in Step 3680 that all of thebits of the main bitmap C 1360 are zero, then the main DKC 1030′ issuesthe freezing instruction to the sub-DKC 1040′ (Step 3720) to wait forthe report exhibiting the freezing completion to be transmitted theretofrom the sub-DKC 1040′ (Step 3730).

[0221] After having received the report exhibiting the completion of thefreezing from the sub-DKC 1040′ (Step 3740), the main DKC 1030′ copiesthe contents of the main bitmap B 1350 to the main bitmap A 1340 (Step3750) to set to zero all of the bits of the main bitmap B 1350 (Step3760). The main DKC 1030′ makes the OFF state the main freezing mode1060 (Step 3770) to transmit the report exhibiting the freezingcompletion to the host computer 1010 to complete the main freezingprocessing A 3600 (Step 3780).

[0222]FIG. 17 is a flow chart useful in explaining the sub-remote copyprocessing A 3800 which the sub-DKC 1040 executes when the processing ofthe remote copy is executed for the sub-DKC 1040 in Step 3700 of themain freezing processing A 3600.

[0223] After having received the data from the main DKC 1030′ (Step3810), the sub-DKC 1040 controls the sub-disk unit 1160 in such a waythat the received data is written to the corresponding block of thesub-main-volume 1320 (Step 3820).

[0224] After the processing of writing the data has been completed, thesub-DKC 1040 sets to 1 the corresponding bit of the sub-bitmap A 1370 tocomplete the sub-remote copy processing A 3800 (Step 3830).

[0225]FIG. 18 is a flow chart useful in explaining a sub-freezingprocessing A 4000 which the sub-DKC 1040′ executes when the main DKC1030′ has issued the freezing instruction to the sub-DKC 1040′.

[0226] The sub-DKC 1040′ which has received the freezing instructionfrom the main DKC 1030′ judges whether or not all of the bits of thesub-bitmap A 1370 are zero (Step 4010).

[0227] If it is judged in Step 4010 that all of the bits of thesub-bitmap A 1370 are not zero, then the sub-DKC 1040′ controls thesub-disk unit 1160′ in such a way that it selects the block of thesub-main-volume 1320 corresponding to the bit as 1 of the sub-bitmap A1370 (Step 4020) to read out the block thus selected to copy the blockthus read out to the corresponding block of the sub-sub-volume 1330(Step 4030).

[0228] After completion of the copy of the corresponding block, thesub-DKC 1040′ sets to zero the corresponding bit of the sub-bitmap A1370 to return back to the processing in Step 4010 (Step 4040).

[0229] On the other hand, if it is judged in Step 4010 that all of thebits of the sub-bitmap A 1370 are zero, then the sub-DKC 1040′ transmitsthe report exhibiting the completion of the freezing to the main DKC1030′ to complete the sub-freezing processing A 4000 (Step 4050).

[0230] In the present embodiment, since the data of the volume image ofthe main main-volume 1300 at a time point when the host computer 1010issued the freezing instruction last time is stored in either thesub-sub-volume 1330 or the sub-main-volume 1320, the processingcorresponding to the sub-recovery processing 3000 become unnecessary.

[0231] When the read request has been made from the host computer 1010,the processing(s) as in the first embodiment does(do) not need to beexecuted, and the data of the main main-volume 1300 has only to betransferred.

[0232]FIG. 19 is a block diagram showing a configuration of a thirdembodiment of the computer system 1000 to which the present invention isapplied.

[0233] In the present embodiment, a point that the remote copy iscarried out only in FIG. 13C of FIGS. 13A to 13D and hence the networkcan not be used effectively in the second embodiment is improved.

[0234] The description will hereinafter be given with respect to only apoint of difference from the second embodiment.

[0235] A main DKC 1030″ has a main bitmap D 1380 which the RAM 1260includes.

[0236] The main bitmap D 1380 shows the data which is not yet copied tothe main sub-volume 1310 and which is stored in the main main-volume1300, i.e., the block containing that data which was remote-copied tothe sub-main-volume 1320 before issue of the freezing instruction.

[0237] A sub-DKC 1040″ has a sub-bitmap B 1390.

[0238] The sub-bitmap B 1390 shows the block which is remote-copied froma main DKC 1030″, to the sub-main volume 1320 on and after the freezinginstruction has been issued this time but before the freezinginstruction will be issued next time.

[0239] In the present embodiment, the main freezing mode takes theintegral number from 0 to 3. The subfreezing mode shows either ON orOFF.

[0240]FIGS. 20A to 20D are respectively schematic views showing the flowof the data in the computer system 1000 of the present embodiment.

[0241] The description will hereinafter be given with respect to thepresent embodiment while comparing the present embodiment with FIGS. 13Ato 13D showing the flow of the data in the computer system 1000 to whichthe second embodiment is applied.

[0242] In FIG. 20A, the data which has been written from the hostcomputer 1010 to the main main-volume 1300 is transferred to the sub-DKC1040″ before the host computer 1010 issues the freezing instruction(indicated by an arrow R 270). An arrow Q 260 corresponds to the arrow J190 shown in FIG. 13A.

[0243] An arrow S 280 and an arrow T 290 in FIG. 20B show the flow ofthe data corresponding to the arrow K 200 and the arrow L 210 in FIG.13B, respectively.

[0244] The data which has already been copied (indicated by the arrow T290) to the main sub-volume 1310 but which is not yet sent to thesub-main-volume 1320 is transferred from the corresponding block of themain sub-volume 1310 to the sub-DKC 1040″, through the main DKC 1030″,to be written to the sub-main-volume 1320 (indicated by an arrow K 300).

[0245] An arrow V 310 and an arrow W 320 shown in FIG. 20C correspond tothe arrow M 220 and the arrow N 230 shown in FIG. 13C, respectively.

[0246] An arrow X 330 and an arrow Z 350 shown in FIG. 20D correspond tothe arrow 0 and the arrow P shown in FIG. 13, respectively.

[0247] The data which has been newly written to the main main-volume1300 (indicated by the arrow X 330) is copied to the sub-main-volume1320 (indicated by an arrow Y 340) before the host computer 1010 issuesthe next freezing instruction.

[0248] In the case where the data for the block which is not yet copiedfrom the sub-main-volume 1320 to the sub-sub-volume 1300 has beenreceived from the main DKC 1030″ by the sub-DKC 1040″, the sub-DKC 1040″copies the data in the block corresponding to the data which has beenreceived once from the sub-main-volume 1320 to the sub-sub-volume 1330(indicated by the arrow Z 350). Thereafter, the sub-DKC 1040″ controlsthe sub-disk unit 1160′ in such a way that the data is written to thecorresponding block of the sub-main-volume 1320.

[0249]FIG. 21 is a schematic view useful in explaining the flow of thefreezing instruction in the computer system 1000 to which the presentembodiment is applied. In the figure, the vertical direction representsthe time base, and hence the time elapses as the position on the drawingis located more downwardly.

[0250] Comparing FIG. 21 with FIG. 14, it is understood that a point ofdifference is that the remote copy is carried out for a longer timeperiod.

[0251]FIG. 22 is a flow chart useful in explaining a write processing B4200 which the main DKC 1030″ executes when the data has beentransferred from the host computer 1010 to the main storage apparatussystem 1180.

[0252] The main DKC 1030″ receives the write data from the host computer1010.(Step 4210) to judge whether or not the main freezing mode 1060 iszero (Step 4220). If it is judged in Step 4220 that the main freezingmode 1060 is not zero, then the main DKC 1030″ judges whether or not themain freezing mode 1060 is 1 (step 4230).

[0253] If it is judged in Step 4230 that the main freezing mode 1060 isnot 1, then the main DKC 1030″ judges whether or not the main freezingmode 1060 is 2 (Step 4240).

[0254] If it is judged in Step 4240 that the main freezing mode 1060 is2, then the main DKC 1030″, executes the processing in Step 4260. On theother hand, if it is judged in Step 4240 that the freezing mode 1060 isnot 2 (i.e., it is judged to be 3), then the main DKC 1030″ sets to zerothe bit of the main bitmap D 1380 corresponding to the transferred block(Step 4250).

[0255] The main DKC 1030″ sets to 1 the bit corresponding to the writedata of the main bitmap A 1340 (Step 4260) and controls the main diskunit 1130″ in such a way that the write data is stored in thecorresponding block of the main main-volume 1300 to complete the mainwrite processing B 4200 (Step 4270).

[0256] On the other hand, if it is judged in Step 4220 that the mainfreezing mode 1060 is zero, then the main DKC 1030″ sets to zero thecorresponding bit of the main bitmap C 1380 to execute the processing inStep 4250 (Step 4280).

[0257] In addition, if it is judged in Step 4230 that the main freezingmode 1060 is 1, then the main DKC 1030″ judges whether or not thecorresponding bit of the main bitmap A 1340 is 1 (Step 4290). If it isjudged in Step 4290 that the corresponding bit is zero, then the mainDKC 1030″ executes the processing in Step 4330. On the other hand, if itis judged in Step 4290 that the corresponding bit is 1, then the mainDKC 1030″ controls the main disk unit 1160′ in such a way that the dataof the block of the main main-volume 1300 corresponding to the bit ofinterest is copied to the corresponding block of the main sub-volume1310 (Step 4300).

[0258] The main DKC 1030″, sets to zero the bit of the main bitmap A1340 corresponding to the copied data (Step 4310). The main DKC 1030″sets to 1 the bit of the main bitmap C 1360 corresponding to the copieddata (Step 4320). In addition, the main DKC 1030″ sets to 1 the bit ofthe main bitmap B 1350 corresponding to the copied data (Step 4330) toreturn back to the processing in Step 4270.

[0259]FIG. 23 is a flow chart useful in explaining a main freezingprocessing B 4400 which the main DKC 1030″ executes when the hostcomputer 1010 has issued the freezing instruction to the main DKC 1030″.

[0260] After having received the freezing instruction from the hostcomputer 1010 (Step 4410), the main DKC 1030″ sets to 1 the mainfreezing mode 1060 to complete the main freezing processing B 4400 (Step4420).

[0261]FIG. 24 is a flow chart useful in explaining a main copyprocessing 4600 which is activated by the main DKC 1030″ at the timewhen turning ON the power source of the main storage apparatus system1180, and thereafter the main DKC 1030″ continues to execute as onetask.

[0262] The main DKC 1030″, judges whether or not the main freezing mode1060 is 1 (Step 4610). If it is judged in Step 4610 that the mainfreezing mode 1060 is 1, then the main DKC 1030″ judges whether or notthe bit of 1 is present in the bits contained in the main bitmap A 1340(Step 4620).

[0263] If it is judged in Step 4610 that the bit of 1 is present in thebits contained in the main bitmap A 1340, then the main DKC 1030″controls the main disk unit 1130″ in such a way that the blockcorresponding to the bit of interest is selected (Step 4630), and thedata of the block corresponding to the bit of the main main volume 1300thus selected is copied to the corresponding block of the mainsub-volume 1310 (Step 4640).

[0264] After completion of the copy, the main DKC 1030″ sets to zero thecorresponding bit of the main bitmap A 1340 (Step 4650), while sets to 1the corresponding bit of the main bitmap C 1360 to return back to theprocessing in Step 4620 (Step 4660).

[0265] On the other hand, if it is judged in Step 4610 that the mainfreezing mode is not 1, then the main DKC 1030″ executes the processingin Step 4680.

[0266] In addition, if it is judged in Step 4620 that the bit of 1 isabsent in the main bitmap A 1340, then the main DKC 1030″, sets to 2 themain freezing mode 1060 (Step 4670), and carries out waiting for sometime to return back to the processing in Step 4610 (Step 4680).

[0267]FIG. 25 is a flow chart useful in explaining a main remote copyprocessing 4800 which is activated by the main DKC 1030″ at the timewhen turning ON the power source of the main source apparatus system andwhich the main DKC 1030″ executes as one task.

[0268] The main DKC 1030″ judges whether the main freezing mode 1060 iszero or 3 (Step 4810). If it is judged in Step 4810 that the mainfreezing mode 1060 is zero or 3, then the main DKC 1030″ judges whetheror not the block in which the bit of the main bitmap A 1340 is 2 ispresent (Step 4820). If so, the main DKC 1030′ selects the block ofinterest (Step 4830).

[0269] The main DKC 1030″ sets to 1 the bit of the main bitmap D 1380corresponding to the selected block (Step 4840) to read out thecorresponding block from the main main-volume 1300 to transmit the blockfrom read out to the sub-DKC 1040″ (Step 4850).

[0270] The main DKC 1030″ receives the report exhibiting the receptionof the data from the sub-DKC 1040″ to return back to the processing inStep 4810 (Step 4860).

[0271] On the other hand, if it is judged in Step 4820 that the block inwhich the bit of the main bitmap A 1340 is 1 is absent, then the mainDKC 1030″ carries out step of waiting for some time (for about severalmilliseconds) to return back to the processing in Step 4810 (Step 4870).

[0272] In addition, if it is judged in Step 4810 that the main freezingmode 1060 is neither zero nor 3, then the main DKC 1030″ judges whetheror not the block is present in which the main bitmap C 1360 is 1 andalso the main bitmap D 1380 is zero (Step 4880).

[0273] If it is judged in Step 4880 that the block fulfilling theabove-mention conditions is present, then the main DKC 1030″ selects theblock of interest (Step 4890) to set to zero the corresponding bit ofthe main bitmap C 1360 (Step 4900). The main DKC 1030″ reads out theblock thus selected from the main sub-volume 1310 to transfer the blockthus read out to the sub-DKC 1040″ (Step 4910).

[0274] The main DKC 1030″ receives the report exhibiting the receptionof the data from the sub-DKC 1040″ to return back to the processing inStep 4810 (Step 4920).

[0275] On the other hand, if it is judged in Step 4880 that the block isnot present in which the main bitmap C 1360 is 1 and also the mainbitmap D 1380 is zero, then the main DKC 1030″ judges whether or not themain freezing mode 1060 is 2 (Step 4930).

[0276] If it is judged in Step 4930 that the main freezing mode 1060 is2, then the main DKC 1030″ clears all of the bits in the main bitmap D1380 to zero (Step 4940), and sets to 3 the main freezing mode 1060(Step 4950) and then issues the freezing instruction to the sub-DKC1040″ to return back to the processing in Step 4810 (Step 4960).

[0277] On the other hand, if it is judged in Step 4930 that the mainfreezing mode 1060 is not 2, then the main DKC 1030″ carried out thestep of waiting for some time (for about several milliseconds) to returnback to the processing in Step 4810 (Step 4970).

[0278]FIG. 26 is a flow chart useful in explaining a main freezingcompletion processing 5000 which the main DKC 1030″ executes at the timewhen having received the report exhibiting the completion of thefreezing from the sub-DKC 1040″.

[0279] After having received the report exhibiting the freezingcompletion from the sub-DKC 1040″ (Step 5010), the main DKC 1030″ setsto zero the main freezing mode 1060 (Step 5020) and informs the hostcomputer 1010 of the freezing completion to complete the main freezingcompletion processing 5000 (Step 5030).

[0280]FIG. 27 is a flow chart useful in explaining a sub-freezingprocessing 5200 which the sub-DKC 1040″ executes at the time when themain DKC 1030″ has issued the freezing instruction to the sub-DKC 1040″.

[0281] After having received the freezing instruction from the main DKC1030″ (Step 5210), the sub-DKC 1040″ makes the ON state the sub-freezingmode 1090 (Step 5220) to judge whether or not the bit of 1 is present inthe sub-bitmap A 1370 (Step 5230).

[0282] If it is judged in Step 5230 that the bit of 1 is present in thesub-bitmap A 1370, then the sub-DKC 1040″ controls the sub-disk unit1160′ in such a way that the block corresponding to the bit of interestis selected (Step 5240), and the block thus selected of thesub-main-volume 1320 is read out to be copied to the corresponding blockof the sub-sub-volume 1330 (Step 5250).

[0283] The sub-DKC 1040″ sets to zero the corresponding bit of thesub-bitmap A 1370 to return back to processing in Step 5230 (Step 5260).

[0284] On the other hand, if it is judged in Step 5230 that the bit of 1is absent in the sub-bitmap A 1370, then the sub-DKC 1040″ copies thesub-bitmap B 1390 to the sub-bitmap A 1370 (Step 5270) to make all ofthe bits of the sub-bitmap B 1390 to zero (Step 5280).

[0285] The sub-DKC 1040″ makes the OFF state the sub-freezing mode 1090(Step 5290) and informs the main DKC 1040″ of the freezing completion tocomplete the sub-freezing processing 5200 (Step 5300).

[0286]FIG. 28 is a flow chart useful in explaining a sub-remote copyprocessing B 5400 which the sub-DKC 1040″ executes at the time when inStep 4910 in the main remote copy processing B 4800, the main DKC 1030″remote-copies the data to the sub-DKC 1040″.

[0287] After having received the data from the main DKC 1030″ (Step5410), the sub-DKC 1040″ informs the main DKC 1030″ of the reception ofthe data (Step 5420).

[0288] Thereafter, the sub-DKC 1040″ judges whether or not thesub-freezing mode 1090 is in the ON state (Step 5430). If it is judgedin Step 5430 that the sub-freezing mode 1090 is in the ON state, thenthe sub-DKC 1040″ judges whether or not that the bit of 1 is present inthe sub-bitmap A 1370 (Step 5440). If it is judged in Step 5440 that thebit of 1 is absent in the sub-bitmap A 1370, then the sub-DKC 1040″executes the processing in Step 5470.

[0289] On the other hand, if it is judged in Step 5440 that the bit of 1is present in the sub-bitmap A 1370, then the sub-DKC 1040″ controls thesub-disk unit 1160″ in such a way that the block of the sub-main-volume1320 corresponding to the bit of 1 is read out to be copied to thecorresponding block of the sub-sub-volume 1330 (Step 5450).

[0290] The sub-DKC 1040″ sets to zero the corresponding bit of thesub-bitmap A 1370 (Step 5460), while sets to 1 the corresponding bit ofthe sub-bitmap B 1390 (Step 5470). The sub-DKC 1040″ controls thesub-disk unit 1160′ in such a way that the received data is written tothe sub-main volume 1320 to complete the sub-remote copy processing B5400 (Step 5480).

[0291] On the other hand, if it is judged in Step 5430 that thesub-freezing mode 1090 is in the OFF state, then the sub-DKC 1040″,makes 1 the corresponding bit of the sub-bitmap A 1370 to execute theprocessing in Step 5480 (Step 5490).

[0292] In the present embodiment, since the volume image of the mainmain-volume 1300 at a time point when the host computer 1010 issued thefreezing instruction last time is held in the form of the data stored inthe sub-sub-volume 1330 or in the form of the combination of the datawhich is stored in the sub-sub-volume 1330 and the sub-main-volume 1320,the processing corresponding to the sub-recovery processing 3000 becomesunnecessary.

[0293] When the request to read the data has been made from the hostcomputer 1010, the data of the main main-volume 1300 may be transferredthereto.

[0294] Next, a fourth embodiment of the present invention willhereinafter be described.

[0295] A point of difference of the fourth embodiment from otherembodiments is that the data which is transferred from the main storageapparatus system 1130 to the sub-storage apparatus system 1160 isencrypted.

[0296] The fourth embodiment will now be described on the basis of thesecond embodiment. But, it goes without saying that in the firstembodiment and the third embodiment as well, the present embodiment canbe adopted.

[0297] In the present embodiment, when the data is transferred from themain main-volume 1300 to the main sub-volume 1310, the data to betransferred is encrypted (encoded).

[0298] In addition, the encrypted data is transferred from the mainsub-volume 1310 to the sub-main-volume 1320, and when the encrypted datais copied from the sub-main-volume 1320 to the sub-sub-volume 1330, thedata of interest is decoded.

[0299] As a result, the encrypted data will be transferred on thenetwork 1050. The description will hereinbelow be given with respect toa point of difference from the second embodiment.

[0300] In the present embodiment, in FIG. 13B, the data is copied fromthe main main-volume 1300 to the main sub-volume 1310 while the data isencrypted (encoded) (indicated by an arrow L 210).

[0301] In addition, in FIG. 13D, in the sub-DKC 1040′, the data iscopied from the sub-main-volume 1320 to the sub-sub-volume 1330 whilethe encrypted data is decoded (indicated by an arrow P 250).

[0302] In FIG. 14, the stored data is encrypted when the main DKC 1030′is split. In addition, when the sub-DKC 1040′ is split, the stored datawhich is already encrypted is decoded.

[0303] In Step 3440, shown in FIG. 15, the main DKC 1030′ copies thedata stored in the corresponding block from the main main-volume 1300 tothe main sub-volume 1310 after the encryption of the data of interest.

[0304] In Step 3650 shown in FIG. 16, the main DKC 1030′ controls themain disk unit 1130′ in such a way that the corresponding block of themain main-volume 1300 is read out to be encrypted, and the encrypteddata is copied to the main sub-volume 1310.

[0305] In Step 4030 shown in FIG. 18, the sub-DKC 1040′ controls thesub-disk unit 1160′ in such a way that the corresponding block of thesub-main-volume 1320 is read out to the sub-DKC 1040′ and the encrypteddata is decoded to be copied to the corresponding block of thesub-sub-volume 1330.

[0306] By adopting the configuration of the present embodiment, thevolume image in the freezing can be ensured in any one of the disk unitswhile ensuring the safety of the data which is being transferred.

[0307] By adopting the configuration of the present invention, even whenthe remote copy of no guarantee to order is carried out, the volumeimage having excellent coherency can be ensured.

[0308] While the present invention has been particularly shown anddescribed with reference to the preferred embodiments, it will beunderstood that the various changes and modifications will occur tothose skilled in the art without departing from the scope and truespirit of the invention. The scope of the invention is therefor to bedetermined solely by the appended claims.

What is claimed is:
 1. For use in an information processing systemincluding a host computer, a main storage apparatus system, and asub-storage apparatus system which is electrically connected to saidmain storage apparatus system, a method of carrying out back-up of thedata from said main storage apparatus system to said substorageapparatus system, comprising the steps of: sending an instruction tomaintain the state of the data in said main storage apparatus systemfrom said host computer to said main storage apparatus system;maintaining the state of the data in said main storage apparatus systemat a time point when said instruction has been issued; and structuringthe data, which said main storage system has at a time point when saidinstruction has been issued, on said sub-storage apparatus system on thebasis of the maintained data.
 2. A data backup method according to claim1, wherein said step of structuring the data further comprises the stepsof: transferring the maintained data in said main storage apparatussystem to said sub-storage apparatus system; after completion of thetransfer of the maintained data, transferring a signal exhibiting thecompletion of the transfer from said main storage apparatus system tosaid sub-storage apparatus system; and with the reception of the signalexhibiting the completion of the transfer as a turning point,structuring the data on said sub-storage apparatus system.
 3. A databackup method according to claim 2, further comprising the step of:keeping the storage of the data in a first storage area of said mainstorage apparatus system until said host computer has issued theinstruction, wherein said step of maintaining the state of the data is,after said host computer has issued the instruction, to copy the datastored in said first storage area at a time point of the issue of theinstruction to a second storage area of said main storage apparatussystem, and wherein said step of transferring the data is to transferthe data which has been copied to said second storage area to saidsub-storage apparatus system.
 4. A data backup method according to claim3, wherein said step of structuring the data is to store the maintaineddata which has been transferred in a third storage area of saidsub-storage apparatus system to structure the maintained data in afourth storage area of said sub-storage apparatus system using the dataheld in said third storage area.
 5. A data backup method according toclaim 4, wherein the data which was stored in said first storage area ata predetermined time point before the issue of the instruction from saidhost computer is stored in said fourth storage area.
 6. A data backupmethod according to claim 2, wherein said step of transferring the datais to transfer the difference between the data which was stored in saidmain storage apparatus system before the issue of the instruction fromsaid host computer and the maintained data at a time point when saidhost computer has issued the instruction.
 7. A data backup methodaccording to claim 6, wherein said step of maintaining the data furthercomprises the steps of: storing the data in said first storage area ofsaid main storage apparatus system; if when updating the data which isstored in said first storage area on and after said host computer hasissued the instruction, the difference has already been sent to saidsub-storage apparatus system on the basis of said step of sending thedifference, storing the data in said first storage area; and if thedifference is not yet sent to said sub-storage apparatus system, storingthe information of the data to be updated in said second storage area ofsaid main storage apparatus system.
 8. A data backup method according toclaim 7, wherein said step of structuring the data further comprises thesteps of: holding the difference, which has been sent from said mainstorage apparatus system, in said third storage area of said sub-storageapparatus system; and on the basis of the difference held in said thirdstorage area, structuring the maintained data in said fourth storagearea of said sub-storage apparatus system.
 9. A data backup methodaccording to claim 8, wherein the data which was stored in said firststorage area at a predetermined time point before the issue of theinstruction from said host computer is stored in said fourth storagearea.
 10. A data backup method according to claim 2, wherein saidtransfer step further comprises the steps of: transferring the data,which is stored in said first storage area and which is to be updated,to said sub-storage apparatus system until said host computer has issuedthe instruction; and after said host computer has issued theinstruction, transferring the data stored in said second storage area tosaid sub-storage apparatus system.
 11. A storage apparatus system,comprising: a main storage apparatus system which has a first storagearea, a second storage area and a main disk controller and which iselectrically connected to a host computer; and a sub-storage apparatussystem which has a third storage area, a fourth storage area and asub-disk controller and which is electrically connected to said mainstorage apparatus system, wherein said main disk controller has: meansfor recording the data, which has been sent from said host computer, insaid first storage area until said host computer has issued aninstruction for freezing; means for in response to the freezinginstruction issued from said host computer, copying the data which hasbeen recorded in said first storage area to said second storage area;and means for sending the copied data to said sub-storage apparatussystem, and wherein said sub-disk controller has: means for receivingthe data sent thereto to hold the data thus received in said thirdstorage area; and means for structuring the data, which is held in saidfirst storage area at a time point when said host computer has issuedthe freezing instruction, in said fourth storage area using the dataheld in said third storage area.
 12. A storage apparatus system,comprising: a main storage apparatus system which has a first storagearea, a second storage area and a main disk controller and which iselectrically connected to a host computer; and a sub-storage apparatussystem which has a third storage area, a fourth storage area and asub-disk controller and which is electrically connected to said mainstorage apparatus system, wherein said main disk controller has: meansfor recording therein the data, which has been sent from said hostcomputer, in said first storage area until said host computer has issuedan instruction for freezing; means for sending a difference between thedata which is stored in said first storage area at a predetermined timepoint and the data which is recorded to said sub-storage apparatussystem; means for in response to the freezing instruction issued fromsaid host computer, with respect to writing of the data to said firststorage area by said host computer, when the difference between the dataeach becoming an object has already been sent to said sub-storageapparatus system, writing the data to said first storage area; and meansfor when the difference between the data each becoming an object is notyet sent to said sub-storage apparatus system, writing the data to saidsecond storage area, and wherein said disk controller has: means forreceiving the difference sent thereto to hold the difference thusreceived in said third-storage area; and means for structuring the data,which is held in said first storage area at a time point when said hostcomputer has issued the freezing instruction, in said fourth storagearea using the difference held in said third storage area.
 13. A storageapparatus system, comprising: a main storage apparatus system which hasa first storage area, a second storage area and a main disk controllerand which is electrically connected to a host computer; and asub-storage apparatus system which has a third storage area, a fourthstorage area and a sub-disk controller and which is electricallyconnected to said main storage apparatus system, wherein said main diskcontroller has: means for recording therein the data, which has beensent from said host computer, in said first storage area until said hostcomputer has issued an instruction for freezing; means for sending thedata stored in said first storage area to said sub-storage apparatussystem; means for in response to the freezing instruction issued fromsaid host computer, copying the data stored in said first storage areato said second storage area; and means for sending the copied data tosaid sub-storage apparatus system, and wherein said sub-disk controllerhas: means for receiving both of the data which has been sent to bestored in said first storage area and the copied data to hold both ofthe data in said third storage area; and means for structuring the data,which is held in said first storage area at a time point when said hostcomputer has issued the freezing instruction, in said fourth storagearea using the data stored in said third storage area.
 14. A storageapparatus system according to claim 13, wherein said main diskcontroller has means for sending a signal showing, that the data hasbeen sent, to said sub-storage apparatus system, and wherein saidsub-disk controller has means for after having received the signalshowing that the data has been sent, structuring the data which is heldin said first storage area in said fourth storage area.
 15. A storageapparatus system according to claim 14, wherein said main diskcontroller has means for when sending the data to said sub-storageapparatus system, encrypting the data of interest, and wherein saidsub-disk controller has means for decoding the encrypted data which hasbeen received from said main storage apparatus system.
 16. A storageapparatus system according to claim 15, wherein the data which wasstored in said first storage area at a predetermined time point beforethe issue of the instruction from said host computer is stored in saidfourth storage area.